﻿#pragma once

#include "lp_conf.h"


typedef struct LPStorage LPStorage;


LP_API LPStorage *
lpNewStorage (unsigned elementSize, unsigned initCount);

LP_API void
lpFreeStorage (LPStorage * storage);

LP_API LPHandle
lpRegInStorage (LPStorage * storage, void ** p);

LP_API void *
lpFindInStorage (LPStorage * storage, LPHandle h);

LP_API int
lpRecInStorage (LPStorage * storage, LPHandle h);

LP_API void
lpExpandStorage (LPStorage * storage, uint32_t count);

LP_API void
lpBeginStorage(LPStorage * storage);

LP_API int
lpNextStorage(LPStorage * storage, LPHandle * h, void ** p);

